#define _CRT_SECURE_NO_WARNINGS 1





//https://www.luogu.com.cn/problem/P1002




/*
#include<iostream>
using namespace std;
typedef long long LL;
const int N=25;
int xl,yl,xx,yy;
int a[N][N];
LL dp[N][N];
int dx[]={2,1,-1,-2,-2,-1,1,2};
int dy[]={1,2,2,1,-1,-2,-2,-1};
int main()
{
	cin>>xl>>yl>>xx>>yy;
	a[xx][yy]=1;
	for(int k=0;k<8;k++)
	{
		int x=xx+dx[k];
		int y=yy+dy[k];
		if(x>=0&&x<=xl&&y>=0&&y<=yl)
			a[x][y]=1;
	}
	dp[0][0]=1;
	for(int i=0;i<=xl;i++)
	{
		for(int j=0;j<=yl;j++)
		{
			if(!a[i][j])
			{
				if(i-1>=0)
					dp[i][j]+=dp[i-1][j];
				if(j-1>=0)
					dp[i][j]+=dp[i][j-1];
			}
		}
	}
	cout<<dp[xl][yl];
	return 0;
}
*/



//
//#include<iostream>
//#include<cmath>
//using namespace std;
//typedef long long LL;
//const int N = 25;
//int xl, yl, xx, yy;
//LL dp[N][N];
//bool check(int& x, int& y)
//{
//	return (x == xx && y == yy) || (x != xx && y != yy && abs(x - xx) + abs(y - yy) == 3);
//}
//int main()
//{
//	cin >> xl >> yl >> xx >> yy;
//	dp[0][0] = 1;
//	for (int i = 0;i <= xl;i++)
//	{
//		for (int j = 0;j <= yl;j++)
//		{
//			if (!check(i, j))
//			{
//				if (i - 1 >= 0)
//					dp[i][j] += dp[i - 1][j];
//				if (j - 1 >= 0)
//					dp[i][j] += dp[i][j - 1];
//			}
//		}
//	}
//	cout << dp[xl][yl];
//	return 0;
//}